d2b6c5b286a23a5973591ab1db3c68ac332576b2,time4j-android/src/main/java/net/time4j/format/expert/ChronoFormatter.java,ChronoFormatter,parse,#Chronology#Chronology#number#CharSequence#ParseLog#AttributeQuery#Leniency#boolean#,2566

Before Change


        Object intermediate =
            this.parse(inner, inner.preparser(), depth + 1, text, status, attrs, leniency, quickPath);

        if (status.isError() || (intermediate == null)) {
            return null;
        }

After Change



        Chronology<?> inner = outer.preparser();

        if ((inner == null) || (outer == cf.deepestParser)) {
            return parse(cf, outer, outer.getExtensions(), text, status, attrs, leniency, depth > 0, quickPath);
        }

        Object intermediate;

        if (inner == cf.deepestParser) { // potentially limits recursion depth
            intermediate = parse(cf, inner, inner.getExtensions(), text, status, attrs, leniency, true, quickPath);
        } else {
            intermediate = parse(cf, inner, depth + 1, text, status, attrs, leniency, quickPath);
        }

        if (status.isError()) {
            return null;
        } else if (intermediate == null) {
            ChronoEntity<?> parsed = status.getRawValues();